CloudWatch Events のターゲットに Amazon Inspector のアセスメントが追加されました
こんにちは、藤本です。
現地時間 7月27日に Amazon Inspector のアセスメントを CloudWatch Events から実行する機能が追加されました。
Amazon Inspector を初めて触りつつ、早速試してみました。
概要
Amazon Inspector は OS 上で動作するミドルウェアや、アプリケーションをセキュリティ評価するサービスです。OS にエージェントを入れておくことで、AWS のコンソールや、API からセキュリティ評価を実行でき、エージェントがテンプレートに則ったセキュリティチェックを行い、レポートを取得することができます。
Amazon Inspector は別ブログにてまとめていますのでそちらをご参照ください。
今回のアップデートで CloudWatch Events のトリガーから、セキュリティ評価実行を行うことができ、スケジュールベースの自動実行や、イベントからの自動実行を行うことができるようになりました。
ちなみに今までも Amazon Inspector のセキュリティ評価実行は AWS Lambda のブループリントで用意されていて、CloudWatch Events からブループリントから作成した Lambda ファンクションを呼び出すことで自動実行することができました。Lambda ファンクションなので管理対象が減るのはいいことですね。
ユースケース
- 定期実行 CloudWatch Events はスケジュールベースの定期実行を行うことができます。脆弱性情報は CVE、NVD、日本語であれば、JVN といった脆弱性情報データベースを通して調べることができます。ただし、脆弱性は日々多くの情報が更新され、その中から自身のシステムに関する脆弱性情報を取捨選択することは大変な作業です。そこで Amazon Inspector によるセキュリティ評価を定期実行することで、OS 上で動作するミドルウェアや、アプリケーションだけを対象に洗い出しを行ってくれ、必要な対策もまとめて確認することができます。
-
デプロイ後の実行 DevOps の普及に伴い、アプリケーションのリリースペースが早まってきました。それにより、新しいリリースバージョンへ脆弱性評価を追従することが難しくなっている実情があります。リリースのペースを早め、かつセキュリティも担保しようということで DevSecOps という言葉もあります。Amazon Inspector は AWS による DevSecOps の取り組みだと思います。今回の新機能を利用することで、例えば、CodeDeploy でアプリケーションのデプロイ完了をトリガーに Inspector セキュリティ評価実行を行うことでセキュリティ評価できます。Amazon Inspector は内部検査なのでアプリケーションの脆弱性の一部しか検査できませんが、それでも一部を洗い出せることは嬉しいですね。
試してみた
Amazon Inspector の設定
Amazon Inspector のターゲット設定、テンプレート作成は下記ページを参考に事前に実施してください。
CloudWatch Events の設定
CloudWatch Events の画面に遷移します。「Create Rule」ボタンで CloudWatch Events のルールを作成します。
今回のアップデートにより、Targets に Inspector assesment template が追加されました!Assesment template には上で作成した実行したいアセスメントテンプレートの ARN を入力し、アセスメントを実行する IAM Role を選択(なければ作成)します。
例えば、定期実行では Schedule を選択し、任意の定期実行間隔を設定します。下記キャプチャでは 1日毎に実行します。
デプロイ後の実行では Event Pattern を選択し、Service に CodeDeploy、Event Type に State Change、Deployment State が Success に変更したことをトリガーとします。必要に応じて、対象とする CodeDeploy アプリケーション、デプロイメントグループを指定してください。
まとめ
いかがでしたでしょうか? CloudWatch Events は AWS の様々なイベントをトリガーに、様々な動作を実行することができます。今回のアップデートではセキュリティ強化に繋がる自動実行できるようになりました。今面倒だと思っている運用作業が CloudWatch Events により自動化でき、運用負荷を減らすことができるかもしれません。CloudWatch Events を利用していない方は是非一度チェックしてみましょう。